﻿// <copyright file="ITopListProvider.cs" company="Ecole Normale Supérieure">
// Released under GPLv2
// </copyright>
// <summary>Contains ITopListProvider, an interface of a provider of the top list.</summary>

namespace Sqwarea.GameLogic.TopList
{
    using System.Collections.Generic;
    using Sqwarea.Persistence;

    /// <summary>
    /// An interface of a provider of the top list
    /// </summary>
    public interface ITopListProvider
    {
        /// <summary>
        /// Update the best kings list via BestKingsProvider. To be called by a scheduled service.
        /// </summary>
        void Condensation();

        /// <summary>
        /// Returns the sorted list of best kings, i.e. the top list
        /// </summary>
        /// <returns>the top list of kings</returns>
        IEnumerable<King> GetBestKings();
    }
}
